﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using SharpArch.Domain.DomainModel;

namespace ADIGRE.Domain
{
    public class Caixa : Entity
    {
        [Display(Name="Caixa"),Required(ErrorMessage="Informe o nome da Caixa")]
        public virtual string NmConta { get; set; }
        [Display(Name="Lancamentos")]
        public virtual IList<Lancamento> Lancamentos { get; set; }

        //Log de estado
        [Display(Name = "Excluido"), Required]
        public virtual bool IsExcluido { get; set; }
        [Display(Name = "Excluido em"), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy HH:mm}")]
        public virtual DateTime? DtDesabilitado { get; set; }
        [Display(Name = "Excluido por")]
        public virtual Usuario UsuarioDesabilitado { get; set; }
        [Display(Name = "Cadastrado em"), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy HH:mm}")]
        public virtual DateTime? DtCadastro { get; set; }
        [Display(Name = "Cadastrado por")]
        public virtual Usuario UsuarioCadastro { get; set; }
        [Display(Name = "Última alteração em"), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy HH:mm}")]
        public virtual DateTime? DtAlterado { get; set; }
        [Display(Name = "Alterado por")]
        public virtual Usuario UsuarioAlterado { get; set; }
        //Log de estado

        public Caixa()
        {
            this.IsExcluido = false;
            this.Lancamentos = new List<Lancamento>();
        }

    }
}
